package com.ht.sps.nh.service;

import com.ht.sps.nh.entity.TreeMenu;
import com.ht.sps.nh.entity.User;
import com.ht.sps.service.BaseService;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * 用户管理专用接口
 *
 * @author: 王利
 * To change this template use File | Settings | File Templates.
 */
public interface NhUserService extends BaseService<User> {

    /**
     * 获取用户列表
     */
    public List<User> getUserList();

    /**
     * 更新用戶信息, 不包括密码
     * @param user 用戶
     */
    void updateUser(User user);

    /**
     * 修改用户密码
     * @param id
     * @param password
     */
    void updatePassword(int id, String password, String salt);

    /**
     * 添加用戶角色信息
     * @param userId 用戶Id
     * @param treeMenuList 对应菜单列表
     */
    void insertOrUpdatePermission(int userId, List<Long> treeMenuList);

    /**
     * 判断用户名是否重复
     * @param id 用戶Id
     * @param username 用戶名
     */
    public boolean checkUsername(Long id, String username);

    /**
     * 获取人员部门列表
     */
    public List<String> getDepartment();

    public List<Long> getPermission(Long userId);


    public User fetchByName(String username);
}
